Bridgy Fed
Bridgy Fed connects IndieWeb sites with the fediverse (eg Mastodon) and Bluesky, allowing users on those networks to follow your IndieWeb site, including receiving notifications, reading, and replying to your posts.
Bridgy Fed is like a POSSE and backfeed service for those servers, except that it federates instead of syndicating. Under the covers, it translates h-entry+Webmentions to/from ActivityPub and AT Protocol.
A developers-centric summary of Bridgy Fed:
- Bridgy Fed converts your existing site’s h-card profile, h-entry post permalinks, and Webmentions to ActivityPub and AT Protocol, and vice versa.
How it works
One key difference between Bridgy Fed and POSSE/PESOS is that Bridgy Fed federates instead of syndicating. Fediverse implementations like Mastodon understand that your profile and posts live on your site, not as copies under a separate Mastodon user, so they link to your site properly.
Why
You want to federate your web site with the fediverse for the same reasons you POSSE, PESOS, or backfeed to any other silo: you want to own your data, but you also want to interact with people inside that silo.
How to
See https://fed.brid.gy/docs for general information on how to setup Bridgy Fed.
How to add a follow form
Your Bridgy Fed dashboard page has a form for others put their fediverse profile URL or @-@ address to follow you.
You can extract this markup and put it on your own site too!
People that have done this:
- Anthony Ciccarello as of 2023-01-19 (See /subscribe)
- Tantek Çelik as of 2023-01-20 on his home page right column: https://tantek.com
- gRegor Morrill as of 2023-01-20 (See /follow)
- Jamie Tanna as of 2023-02-12 on his /subscribe/ page
- ...
Steps to make this work:
- Copy the form html from your site's profile on Bridgy Fed to somewhere on your site
- Change the URL for the form action to be an absolute URL:
- https://fed.brid.gy/remote-follow
- Adjust classes, labels, and placeholders as desired
Here’s a summary of the HTML form.
- replace @tantek.com@tantek.com with your @-@, and
- replace tantek.com with your domain
<form method="post" action="https://fed.brid.gy/remote-follow"> <label for="follow-address">🐘 Follow <kbd>@tantek.com@tantek.com</kbd>:<br /> enter your @-@ fediverse address:</label> <input id="follow-address" name="address" type="text" required="required" placeholder="@you@instance.social" alt="fediverse address" value="" /> <input name="domain" type="hidden" value="tantek.com" /> <input name="protocol" type="hidden" value="web" /> <button type="submit">Follow</button> </form>
Sample rendering:
Entering a Mastodon @-@ address that you’re logged into (in this case @t@xoxo.zone) and clicking "Follow" will result in a screen like this:
Clicking "FOLLOW" on that screen completes the follow action, and should show a success message like this:
Stats
See: https://fed.brid.gy/stats
IndieWeb Examples
Ryan Barrett
Started using Bridgy Fed to federate with Mastodon and Hubzilla at the beginning of September 2017.
Federating a reply
Here's an example reply to a post on Mastodon:
And here's how it shows up inside Mastodon. Note that the permalink links back to snarfed.org, not inside Mastodon.
Backfeed
Here's another reply from inside Mastodon:
And here it is backfed to the original post on my site:
Tantek
Tantek Çelik setup Bridgy Fed on his site tantek.com on 2022-10-28.
Discoverability via search in Mastodon:
Screenshot of a Mastodon search results page showing "Tantek Çelik" with address @tantek.com@tantek.com
and profile image in a "People" tab, and icon button to the right of the result to add/follow.
What a profile looks like in Mastodon after supporting Bridgy Fed:
Screenshot of a Mastodon view of a profile from Bridgy Fed, showing 0 posts, in stark contrast to how feed readers immediately show all recent posts from a feed when you subscribe to a feed.
Alex Kearney
kongaloosh setup Bridgy Fed on their site kongaloosh.com on 2022-11-04:
- @kongaloosh.com@kongaloosh.com
gRegor Morrill
gRegor Morrill set up Bridgy Fed via gregorlove.com 2022-11-15. I've successfully received a couple follow requests and sent several myself, which now appear on the following / followers pages linked from https://fed.brid.gy/user/gregorlove.com
gRegor photo post
Screenshot of my original photo post appearing in Mastodon with links and person tags (though not to Mastodon URLs)
gRegor article post
Screenshot of how an article post appears. Only the title and link is shown. The fed.brid.gy link under the title is a Mastodon oddity (see GitHub issue), but that URL redirects to the original post:
The link preview under that fed.brid.gy link is a direct link to the original post:
gRegor verification
Screenshot of how verification appears. The representative h-card on my homepage has links to gregorlove.com and gregorlove.com/about/ with u-url properties. My homepage also has an invisible <link rel="me" href="https://fed.brid.gy/r/https://gregorlove.com/">
. It appears that since fed.brid.gy is the delegated domain for my ActivityPub interactions, Mastodon is using that domain for rel-me verification.
This screenshot is from indieweb.social viewed as the public, found by searching "gregorlove.com". The verification checkmark does not appear on every instance for some reason -- perhaps caching?
gRegor article with tags
Screenshot of my original article appearing in Mastodon hashtag search, with hashtags shown under the post. This appears to be new as of Mastodon v4.2.0 based on comparing hashtag search on a couple instances running earlier versions. These screenshots were taken on https://indieweb.social/tags/weeklyroundup (search) and on the post permalink, not signed in to Mastodon.
The hashtag search results page:
The permalink for my federated post:
Jamie Tanna
Jamie Tanna set up Bridgy Fed on 2022-11-05 and has both been receiving and sending follows, visible on his user page
Anthony Ciccarello
Anthony Ciccarello set up Bridgy Fed on 2022-11-10 and adjusted his user name to be @anthony@ciccarello.me. Mastodon users can follow using a form from his subscribe/ page.
Add yourself!
Add yourself here… (see this for more details)
Testimonials
- Testimonial: https://mastodon.cloud/@torresburriel/109729558877224488
- "Leo a @tantek.com comentar un recurso muy útil para conectar un sitio web con el #fediverso. https://tantek.com/2023/020/t2/bridgy-fed-follow-form" @torresburriel January 21, 2023
Troubleshooting
These are troubleshooting steps for IndieWeb users of Bridgy Fed, in particular for federating out from a personal site to ActivityPub instances.
You might want to first review the Bridgy Docs about error handling in case something there applies to the problem you are having:
Activity not showing up in dashboard
If you publish a new post on your personal site, and send a Webmention to https://fed.brid.gy/ to federate that post out, you should see an entry in your dashboard. You can access your dashboard by entering your domain on the form on the https://fed.brid.gy/. E.g. Tantek Çelik’s domain leads to:
- https://fed.brid.gy/web/tantek.com (example dashboard)
If you don't see an activity at the top of the list corresponding to your new post, there are several things you should check.
Verify link to Bridgy Fed
First, verify that your post has a link to Bridgy Fed.
View source on your original post and make sure that it has a valid link to Bridgy Fed, as documented in https://fed.brid.gy/docs#web-how-post, like:
<a href="https://fed.brid.gy/" hidden="from-humans"></a>
If you can’t find such a link, then Bridgy Fed won’t federate your post.
- Solution: add such a link to your post, republish, and resend a Webmention to https://fed.brid.gy/
If you have such a link somewhere inside the source of your post permalink, then the next step is to verify that your Webmention is being properly received by https://fed.brid.gy/ and processed.
Verify Webmention is received by Bridgy Fed
Next, verify that when you send a Webmention from your post to Bridgy Fed, that the server receives it and processes it.
For verifying that your Webmention was received, if you are using a Webmention publishing service such as:
to send a webmention from your post to https://fed.brid.gy/, then be sure that:
- fed.brid.gy is actually listed among the links that will be sent Webmentions
- e.g. in the https://telegraph.p3k.io/dashboard you have to enter a URL first, and it displays a list of which URLs it will send webmentions to, but sometimes it misses some links, e.g. https://telegraph.p3k.io/dashboard/send?url=https%3A%2F%2Ftantek.com%2F2024%2F023%2Ft1%2Fshould-public-posts-flow-across-sites&account=993 does not list https://fed.brid.gy/ when that post was published and did have a link in its source
- Issue to be filed.
- e.g. https://webmention.app/ when you enter a URL in the input to "Check a URL for webmentions" and click "Start", it only displays 10 links. also it seems to only find links inside post content, rather than all links inside a post (such as links in a reply-context). so it might also not list https://fed.brid.gy/ depending on where you put the link to it in your post.
- e.g. in the https://telegraph.p3k.io/dashboard you have to enter a URL first, and it displays a list of which URLs it will send webmentions to, but sometimes it misses some links, e.g. https://telegraph.p3k.io/dashboard/send?url=https%3A%2F%2Ftantek.com%2F2024%2F023%2Ft1%2Fshould-public-posts-flow-across-sites&account=993 does not list https://fed.brid.gy/ when that post was published and did have a link in its source
- ...
Then send the Webmention using the tool or service or your choice, and make sure that:
- There are no error messages, e.g. mention.tech may display a red ❌ indicating that something went wrong
If you have confirmed that Bridgy Fed received the webmention, e.g. by a confirmation display or HTTP return code like 200, 201, 202, then reload you Bridgy Fed dashboard. Within seconds you should see your new post as an activity at the top of the list there.
If it has been a minute since you confirmed that the webmention was received, and nothing new has shown up at the top of your dashboard activities list, then you may need to troubleshoot further with help from the community:
- Join the #indieweb dev chat channel
- Ask for help with Bridgy Fed, note the problem you’re having, and what steps you took (e.g. from above) with which tools or services.
Activity in dashboard without delivery status
If you publish a new post on your personal site and webmention Bridgy Fed, you should see your post as an activity in your dashboard within seconds.
Sometimes you may see your activity, but nothing in the far right column for the delivery status of your post.
It can sometimes take up to a few minutes for Bridgy Fed to start delivering your post to other servers, wait at least 3-5 minutes and reload your dashboard.
You should eventually see at least something like:
- ↔️ 357 ("Remaining to be delivered")
where the icon may be separate arrows pointing left and right, and the number of servers that Bridgy Fed has queued up to deliver to.
If you don't see this after five minutes since your Webmention was accepted by Bridgy Fed (see prior troubleshooting for that), then ask for help with Bridgy Fed in the #indieweb dev chat channel, note your post URL and how long it’s been since Bridgy Fed accepted your Webmention.
Once Bridgy Fed has started delivering to other servers, you may see up to three icons and numbers like:
- ✅ 67 ("Delivered successfully")
- ↔️ 273 ("Remaining to be delivered")
- ⚠️ 17 ("Failed delivery")
where the icons may be different shapes (e.g. circles instead of squares/triangles for the checkmark and warning) and the numbers next to them indicate how many servers Bridgy Fed has delivered your post successfully, still remaining to deliver to, or failed to deliver.
Once Bridgy Fed has finished its delivery attempts you should see only two icons and numbers like:
- ✅ 290 ("Delivered successfully")
- ⚠️ 66 ("Failed delivery")
If you don't see this after ~30 more minutes (perhaps longer if Bridgy Fed is delivering to a lot of servers) since your Webmention was accepted by Bridgy Fed (see prior troubleshooting for that), then ask for help with Bridgy Fed in the #indieweb dev chat channel, note your post URL and how long it’s been since Bridgy Fed accepted your Webmention.
History
Ryan Barrett had been thinking about the idea for Bridgy Fed for years, and then...
- 2017-06-24: Ryan Barrett, AJ Jordan, Johannes Ernst, and User:Sebastian.kip.pe discuss the idea at 2017/ostatusbridge.
- 2017-08-07: Ryan Barrett writes up design docs for ActivityPub and OStatus.
- 2017-08-13: Ryan Barrett starts coding Bridgy Fed.
- 2017-09-04: Ryan Barrett federates the first (ugly) IndieWeb post to Mastodon (archive link) and to Hubzilla (instance down as of 2017-11 ish).
- original mastodon.technology/@snarfed/3194674 copy offline sometime around 2022-11-14 or later
- original Hubzilla https://lastauth.com/channel/snarfed/?mid=7cfa12e54cf97aaed3b0bb185651ae37a1e24027fbf3e845fab261e108392707@lastauth.com unarchived
- 2017-10-22: Ryan Barrett launches Bridgy Fed publicly.
See Also
- Bridgy
- federation
- to-do: Consider adding Bridgy Fed as an implementation in this table https://en.wikipedia.org/wiki/Fediverse#Software
- 2024-06-05 TechCrunch: Bluesky and Mastodon users can now talk to each other with Bridgy Fed
Open Source IndieWeb related projects and tools | |
---|---|
Topics | Why open source? • How to open source a project • Open for contributions • IndieWeb Principles |
PHP | b2evolution • CASSIS • Known • Falcon (portions) • p3k • stapibas • dobrado • Grav • Miniflux-legacy • processwire • Reader Self • Textpattern • tt-rss • Twyne • TYPO3 |
WordPress (PHP) | Indieweb Plugin • Webmention • Semantic Linkbacks • Micropub • IndieAuth • Post Kinds • Syndication Links • WebSub plugins • See Template:WordPress for others. |
Python | Bridgy Fed • BeautifulSoup • Bleach • Bundle • django CMS • IndieWeb Search • IndieWeb Utils • kaku • mf2util • Nefelibata • ninka • Publ • python-indieweb • Red Wind • Requests • ronkyuu • Woodwind |
Ruby | Dark Matter • Feedbin • FrancisCMS • Micropublish • Publify • Ruby on Rails • Sinatra • Singulus • Transformative • webmention.io • Jekyll |
JavaScript | AerosolCMS • CASSIS • Ghost • Camel • IndieKit • Eleventy |
Others | Hugo (Go) • Firefox • NetNewsWire |